package oracle;

import java.sql.*;

/**
 * JDBC链接Oracle数据库
 * 开发步骤
 * 1.加载驱动--Oracle--oracle.jdbc.oracleDriver
 *            Mysql---com.mysql.jdbc.Driver
 * 2.获取链接--链接成功数据库的对象--Connection对象
 * 3.执行SQL语句【查询操作】
 * ①oracle建表    login表   3个字段   序号、姓名、手机号
 * ②编写静态sql：查询  select * from login
 * ③链接数据库同时获取：执行数据库对象：Statement
 * 4.执行sql操作
 * 5.处理结果   Resultset.statement.connection
 * 6.释放资源：结果对象，执行sql，获取链接数据
 */
/*作业：参考sqlJDBC  增加*/

public class OracleJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("oracle.jdbc.OracleDriver");
        //2.获取链接【准备工作】
        String username="system";//Oracle用户名
        String password="xxq13092500";//oracle密码
        String url="jdbc:oracle:thin:@127.0.0.1:1521:XE";//oracle 链接地址
        Connection con=DriverManager.getConnection(url,username,password);
        //打桩--测试链接是否成功
        System.out.println("测试链接："+con);
        //3.执行SQL语句 ②编写静态SQL：查询
        String sql="select * from login";
                //③链接成功数据库获取：执行数据库对象
        Statement st=con.createStatement();
        //4.执行sql操作--返回对象：ResultSet对象：保存查询所有结果集
        ResultSet rs=st.executeQuery(sql);
        //5.处理结果  循环取所有的字段下记录


        while(rs.next()){//next()获取当亲表中所有的字段，有字段返回true
            //获取字段getInt() 取数据库整型
            int id= rs.getInt("id");
            String name= rs.getString("name");
            String phone= rs.getString("phone");
            System.out.println("序号"+id+"姓名"+name+"手机号"+phone);

        }

        //String sqls="insert into login values(4,'刘耀文','12345678')";
        //String sqls="delete from login where id=2";
        //String sqls="update login set name='贺峻霖' where id=1";
        //String sqls="insert into login values(5,'严浩翔','1234579848')";
        //String sqls="insert into login values(6,'张真源','1234579848')";
        String sqls="insert into login values(7,'马嘉祺','1234579848')";
        int rows=st.executeUpdate(sqls);
        System.out.println("成功添加了："+rows+"条记录");
        //6.释放资源
        rs.close();
        st.close();
        con.close();
    }
}
